<html>
<head><meta charset="utf-8"><title>chalk-ir move · t-compiler/rust-analyzer · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/index.html">t-compiler/rust-analyzer</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/chalk-ir.20move.html">chalk-ir move</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="229869855"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/chalk-ir%20move/near/229869855" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Florian Diebold <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/chalk-ir.20move.html#229869855">(Mar 11 2021 at 15:42)</a>:</h4>
<p><span class="user-mention" data-user-id="300586">@Lukas Wirth</span> are you working on any further hir_ty refactorings currently? just so we don't conflict unnecessarily</p>



<a name="229872085"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/chalk-ir%20move/near/229872085" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lukas Wirth <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/chalk-ir.20move.html#229872085">(Mar 11 2021 at 15:55)</a>:</h4>
<p>I've got nothing more in progress right now no</p>



<a name="231025205"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/chalk-ir%20move/near/231025205" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Florian Diebold <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/chalk-ir.20move.html#231025205">(Mar 19 2021 at 13:50)</a>:</h4>
<p>slightly annoying that we can't implement <code>InternKey</code> for chalk types, so we have to add a bunch of proxy ID types that just exist to be converted: <a href="https://github.com/rust-analyzer/rust-analyzer/blob/dc8e2fea98aecbba0c587e5999b9e09533e0091c/crates/hir_ty/src/db.rs#L154-L170">https://github.com/rust-analyzer/rust-analyzer/blob/dc8e2fea98aecbba0c587e5999b9e09533e0091c/crates/hir_ty/src/db.rs#L154-L170</a></p>



<a name="231027496"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/chalk-ir%20move/near/231027496" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/chalk-ir.20move.html#231027496">(Mar 19 2021 at 14:06)</a>:</h4>
<p>Haven't looked into it, but maybe something like <code>InternedId&lt;..&gt;</code> is possible?</p>



<a name="231027884"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/chalk-ir%20move/near/231027884" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Florian Diebold <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/chalk-ir.20move.html#231027884">(Mar 19 2021 at 14:08)</a>:</h4>
<p>a somewhat related problem is that we have to convert between our IDs and Chalk's in other case where there are corresponding ones: <a href="https://github.com/rust-analyzer/rust-analyzer/blob/dc8e2fea98aecbba0c587e5999b9e09533e0091c/crates/hir_ty/src/lib.rs#L1172-L1186">https://github.com/rust-analyzer/rust-analyzer/blob/dc8e2fea98aecbba0c587e5999b9e09533e0091c/crates/hir_ty/src/lib.rs#L1172-L1186</a></p>



<a name="231027946"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/chalk-ir%20move/near/231027946" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Florian Diebold <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/chalk-ir.20move.html#231027946">(Mar 19 2021 at 14:09)</a>:</h4>
<p>I mean, it's not really a _problem_, just somewhat annoying</p>



<a name="231028028"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/chalk-ir%20move/near/231028028" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Florian Diebold <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/chalk-ir.20move.html#231028028">(Mar 19 2021 at 14:10)</a>:</h4>
<p>it might be nice to have an associated type in the interner for every ID, but that might make everything much more annoying in Chalk</p>



<a name="231028187"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/chalk-ir%20move/near/231028187" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Florian Diebold <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/chalk-ir.20move.html#231028187">(Mar 19 2021 at 14:10)</a>:</h4>
<p>it's not possible to define <code>type ForeignDefId&lt;Interner&gt; = Interner::ForeignDefId;</code>, is it? <span aria-label="thinking" class="emoji emoji-1f914" role="img" title="thinking">:thinking:</span></p>



<a name="231028333"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/chalk-ir%20move/near/231028333" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Florian Diebold <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/chalk-ir.20move.html#231028333">(Mar 19 2021 at 14:11)</a>:</h4>
<p>OTOH that isn't really a big difference anyway</p>



<a name="233016629"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/chalk-ir%20move/near/233016629" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Florian Diebold <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/chalk-ir.20move.html#233016629">(Apr 03 2021 at 16:28)</a>:</h4>
<p>we're slowly getting there, I made a tracking issue: <a href="https://github.com/rust-analyzer/rust-analyzer/issues/8313">rust-analyzer/rust-analyzer#8313</a></p>



<a name="233017099"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/chalk-ir%20move/near/233017099" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/chalk-ir.20move.html#233017099">(Apr 03 2021 at 16:36)</a>:</h4>
<p>(<a href="https://github.com/rust-analyzer/rust-analyzer/issues/8313">https://github.com/rust-analyzer/rust-analyzer/issues/8313</a>)</p>



<a name="233641350"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/chalk-ir%20move/near/233641350" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Florian Diebold <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/chalk-ir.20move.html#233641350">(Apr 08 2021 at 12:09)</a>:</h4>
<p><a href="https://github.com/rust-analyzer/rust-analyzer/pull/8419">https://github.com/rust-analyzer/rust-analyzer/pull/8419</a></p>



<a name="233642477"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/chalk-ir%20move/near/233642477" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/chalk-ir.20move.html#233642477">(Apr 08 2021 at 12:19)</a>:</h4>
<p><a href="/user_uploads/4715/KOAkGZMYwYR-_VA6Un3XDeVL/image.png">image.png</a> <span aria-label="heart eyes" class="emoji emoji-1f60d" role="img" title="heart eyes">:heart_eyes:</span></p>
<div class="message_inline_image"><a href="/user_uploads/4715/KOAkGZMYwYR-_VA6Un3XDeVL/image.png" title="image.png"><img src="/user_uploads/4715/KOAkGZMYwYR-_VA6Un3XDeVL/image.png"></a></div>



<a name="233642678"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/chalk-ir%20move/near/233642678" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/chalk-ir.20move.html#233642678">(Apr 08 2021 at 12:21)</a>:</h4>
<p>Removing  <code>ToChalk</code> should simplify things even more I hope</p>



<a name="233645026"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/chalk-ir%20move/near/233645026" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Florian Diebold <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/chalk-ir.20move.html#233645026">(Apr 08 2021 at 12:40)</a>:</h4>
<p>interestingly, this has only marginal impact on performance, but seems to fix a few unknown types for some reason</p>



<a name="233645677"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/chalk-ir%20move/near/233645677" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Laurențiu <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/chalk-ir.20move.html#233645677">(Apr 08 2021 at 12:45)</a>:</h4>
<p>Maybe they're unknown types in the code you removed?</p>



<a name="233646146"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/chalk-ir%20move/near/233646146" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Florian Diebold <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/chalk-ir.20move.html#233646146">(Apr 08 2021 at 12:48)</a>:</h4>
<p>I ran both on the same RA code</p>



<a name="233646348"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/185405-t-compiler/rust-analyzer/topic/chalk-ir%20move/near/233646348" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Laurențiu <a href="https://rust-lang.github.io/zulip_archive/stream/185405-t-compiler/rust-analyzer/topic/chalk-ir.20move.html#233646348">(Apr 08 2021 at 12:50)</a>:</h4>
<p>Oh</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>